<?php

class Movimentacao{

	private $codigo;
	private $titulo;
	private $data;
	private $valor;
	private $idAutor;
	public function __construct($codigo = 0,$titulo= "" ,$data = "0000-00-00 00:00:00",$valor= 0.0,$idAutor=0){
		$this->codigo = $codigo;
		$this->titulo = $titulo;
		$this->data = $data;
		$this->valor = $valor;
		$this->idAutor = $idAutor;

	}

	public static function construct($array){
		return new Movimentacao( $array['codigo'], $array['titulo'], $array['data'], $array['valor'],$array['idAutor']);

	}

	public function getCodigo(){
		return $this->codigo;
	}

	public function setCodigo($codigo){
		$this->codigo=$codigo;
	}

	public function getTitulo(){
		return $this->titulo;
	}

	public function setTitulo($titulo){
		$this->titulo=$titulo;
	}

	public function getData(){
		return $this->data;
	}

	public function setData($data){
		$this->data=$data;
	}

	public function getValor(){
		return $this->valor;
	}

	public function setValor($valor){
		$this->valor=$valor;
	}
	public function getIdAutor(){
		return $this->idAutor;
	}
	
	public function equals($object){
		if($object instanceof Movimentacao){

			if($this->codigo!=$object->codigo){
				return false;

			}

			if($this->titulo!=$object->titulo){
				return false;

			}

			if($this->data!=$object->data){
				return false;

			}

			if($this->valor!=$object->valor){
				return false;

			}
			
			if($this->idAutor!=$object->idAutor){
				return false;
			
			}

			return true;

		}
		else{
			return false;
		}

	}
	public function toString(){

		return "  [codigo:" .$this->codigo. "]  [titulo:" .$this->titulo. "]  [data:" .$this->data. "]  [valor:" .$this->valor. "]  " ;
	}
	public function toArray(){

		$temp =   (array) $this;

		$array = array();

		foreach ($temp as $k => $v){

			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;

			$array[$k] = $v;


		}
		return  $array;
	}

}
?>